home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
bipl.zip
/
PROCS.ZIP
/
HYPERBOL.ICN
< prev
next >
Wrap
Text File
|
1992-09-28
|
2KB
|
106 lines
############################################################################
#
# File: hyperbol.icn
#
# Subject: Procedures for hyperbolic functions
#
# Author: Ralph E. Griswold
#
# Date: January 1, 1992
#
###########################################################################
#
# These are the standard hyperbolic functions and their inverses.
#
############################################################################
procedure sinh(r)
static e
initial e := 2.71828183
return (e ^ r - e ^ -r) / 2
end
procedure cosh(r)
static e
initial e := 2.71828183
return (e ^ r + e ^ -r) / 2
end
procedure tanh(r)
static e
initial e := 2.71828183
return (e ^ r - e ^ -r) / (e ^ r + e ^ -r)
end
procedure ctnh(r)
static e
initial e := 2.71828183
return (e ^ r + e ^ -r) / (e ^ r - e ^ -r)
end
procedure sech(r)
static e
initial e := 2.71828183
return 2 / (e ^ r + e ^ -r)
end
procedure csch(r)
static e
initial e := 2.71828183
return 2 / (e ^ r - e ^ -r)
end
procedure arcsinh(r)
return log(r + sqrt(r ^ 2 + 1))
end
procedure arccosh(r)
return log(r + sqrt(r ^ 2 - 1))
end
procedure arctanh(r)
return 0.5 * log((1 + r) / (1 - r))
end
procedure arcctnh(r)
return 0.5 * log((r + 1) / (r - 1))
end
procedure arcsech(r)
return log((1 + sqrt(1 - r ^ 2)) / r)
end
procedure arccsch(r)
return log((1 + sqrt(1 + r ^ 2)) / r)
end